package com.tedu.api.date;

import java.util.Calendar;
import java.util.Date;

/**
 * Calendar抽象类替接Date(设计缺陷)使用格里高利历法:公历 替换方法:
 * 1.时间计算分量:根据毫秒数换算时间分量:年,月,日 时分秒
 * 2.设计时间分量:修改年、月、日时分秒，底层用毫秒进行计算结果
 * 3.增加减少时间分量:增加减少指定毫秒数
 */
public class CalendarAPI {
    public static void main(String[] args) {
        //抽象类---匿名内部类【提供静态方法替代new，这个静态方法封装new功能]
        // getInstance获取一个实例---封装了new的功能
        Calendar cl = Calendar.getInstance();
        //获取年月日	get方法:获取年月日时分
        int year = cl.get(Calendar.YEAR);//get方法中传入静态属性
        System.out.println("当前年份:" + year);
        int month = cl.get(Calendar.MONTH) + 1;
        System.out.println("当前月份:" + month);
        int day = cl.get(Calendar.DAY_OF_MONTH);
        System.out.println("当前日期:" + day);
        int hour = cl.get(Calendar.HOUR);
        System.out.println("当前时分:" + hour);
        int minute = cl.get(Calendar.MINUTE);
        System.out.println("当前分钟:" + minute);
        int second = cl.get(Calendar.SECOND);
        System.out.println("当前年份:" + second);


//快捷格式化对齐：ctrl+alt+l
//设置时间分量:set(修改时间,绝对时间)方法底层使用毫秒数
//需求:当前时间调整为明年的今天
    cl.set(Calendar.YEAR,2025);
    Date d=cl.getTime();//获取时间，返回值Date类
        System.out.println("明年的今天"+d);
        //需求:获取2023的今天【通过第三个增加减少时间毫秒数计算]
        // add方法(改变时间，相对时间)
        cl.add(Calendar.YEAR,-1); d=cl.getTime();
        System.out.println("去年的今天:"+d);
        //获取当前月份总天数[最大天数]
        int max=cl.getActualMaximum(Calendar.DAY_OF_MONTH);
        System.out.println("月份最大天数:"+max);
}











}